package cn.stylefeng.guns.modular.ums.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import java.io.Serializable;

/**
 * <p>
 * 聊天记录表
 * </p>
 *
 * @author yzb
 * @since 2022-05-17
 */
@Data
@TableName("ums_chat_history")
public class ChatHistory implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 消息id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 区域
     */
    @TableField("rest_host")
    private String restHost;

    /**
     * common key
     */
    @TableField("app_key")
    private String appKey;

    /**
     * 私聊A方
     */
    @TableField("user_a_id")
    private String userAId;

    /**
     * 私聊B方
     */
    @TableField("user_b_id")
    private String userBId;

    /**
     * 群聊ID
     */
    @TableField("group_id")
    private String groupId;

    /**
     * 岗位ID
     */
    @TableField("position_id")
    private String positionId;

    /**
     * 类型：text、audio、image、video
     */
    @TableField("type")
    private String type;

    /**
     * 消息ID
     */
    @TableField("message_id")
    private String messageId;

    /**
     * 发送者ID
     */
    @TableField("sender_id")
    private String senderId;

    /**
     * 接收者ID
     */
    @TableField("receiver_id")
    private String receiverId;

    /**
     * 发送时间
     */
    @TableField("send_time")
    private Date sendTime;

    /**
     * 文本内容
     */
    @TableField("text")
    private String text;

    /**
     * 名称，针对非文本
     */
    @TableField("name")
    private String name;

    /**
     * 内容类型：audio/m4a,image/jpeg,video/mp4等
     */
    @TableField("content_type")
    private String contentType;

    /**
     * url地址，图片或者视频地址
     */
    @TableField("url")
    private String url;

    /**
     * 时长，视频、音频
     */
    @TableField("duration")
    private Double duration;

    /**
     * 宽度
     */
    @TableField("width")
    private Integer width;

    /**
     * 高度
     */
    @TableField("height")
    private Integer height;

    /**
     * 大小
     */
    @TableField("size")
    private Double size;

    /**
     * 添加时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 是否删除
     */
    @TableField("if_del")
    private Integer ifDel;

    /**
     * 删除时间
     */
    @TableField("delete_time")
    private Date deleteTime;

    /**
     * 内容信息
     */
    @TableField("payload")
    private String payload;

    /**
     * 封面地址
     */
    @TableField("cover_url")
    private String coverUrl;

}
